In a conventional digital multifunction reprographic system, a scanner accepts a document to be copied, scanned, or otherwise subsequently processed and converts the document into an electronic image or images. These images, usually in the form of pages, are then passed to a central control unit which may re-order or reorganize these pages and then, depending on the request of the user of the device, send the pages or images to a destination. Often this destination is an attached printing unit which makes one or more copies of the original document.
The conventional multifunction digital device includes an image path. This is the combination of software and hardware elements. The software and hardware elements accept the electronic images from a multiplicity of sources and perform a plurality of operations needed to convert the images to the format desired for the various output paths.
The image path for a conventional multifunction device usually has several constraints. On one hand, there is a desire to make the image path utilize data in a multi-bit per pixel format so as to provide for maximum image quality and a minimum loss of critical information in the transformation of documents from paper to electronic form. On the other hand, cost constraints and performance limits on the devices or software may comprise the image path.
A conventional image path may also utilize a binary image path. In this situation, if the input information is scanned or otherwise obtained in a binary manner at sufficiently high resolution, and if the need arises for further image processing that can be performed only on multi-bit per pixel then the scanned image can be reconstructed with little or no perceptible loss of image quality.
Another conventional image path uses analog data in the image path. In this conventional image path, the data from the scanner is digitized, processed in contone, and then converted to binary.
All of the intermediate elements of the image path are designed to work with multi-bit per pixel data which is converted as a last step to binary or with the compact binary data format. Only at the final output is the binary data converted to a multi-bit (gray scale) format.
It is further noted that in such conventional systems, which convert gray scale image data to binary image data (so as to be processed by the binary data image path) and back to gray scale image data for rendering, a halftone process is conventionally utilized which includes the utilization of error diffusion to convert gray scale image data to binary image data.
In this process, a pixel of gray scale image data is compared to a threshold values or threshold values and depending upon the relationship of the value of the pixel of gray scale image data, a binary data value is generated.
For example, if the possible pixel value of the gray scale image data has a value between 0 and 255, the threshold value may be 128 such that a pixel value of the gray scale image data that is equal to or greater than 128 would generate a binary value of 1 (representing a gray scale value of 255) and a pixel value of the gray scale image data that is equal less than 128 would generate a binary value of 0 (representing a gray scale value of 0). In each instance, there would be a difference between the original a pixel value of the gray scale image data and the converted value. This difference is the error of the conversion process.
In a conventional conversion process that utilizes error diffusion, the error is diffused (scattered or propagated) to neighboring pixels of the gray scale image data. More specifically, the error may be conventionally propagated to the next pixel in the scanline and to adjacent pixels in the next scanline.
Moreover, in conventional error diffusion processes, the error is weighted such that an adjacent pixel does not necessarily receive all the error, only a portion thereof.
Examples of conventional error diffusion processes and various weighting methods are disclosed in U.S. Pat. No. 5,608,821; U.S. Pat. No. 5,696,601; U.S. Pat. No. 5,809,177; U.S. Pat. No. 5,880,857; U.S. Pat. No. 6,144,775; U.S. Pat. No. 6,325,487; U.S. Pat. No. 6,608,700; U.S. Pat. No. 7,719,722; and U.S. Pat. No. 7,869,095.
The entire contents of U.S. Pat. No. 5,608,821; U.S. Pat. No. 5,696,601; U.S. Pat. No. 5,809,177; U.S. Pat. No. 5,880,857; U.S. Pat. No. 6,144,775; U.S. Pat. No. 6,325,487; U.S. Pat. No. 6,608,700; U.S. Pat. No. 7,719,722; and U.S. Pat. No. 7,869,095 are hereby incorporated by reference.
With respect to converting the binary image data to gray scale image data, low pass filtering and look-up table based approaches are conventional implementations of reconstructing gray scale image data (gray scale image data) from halftone image data (binary image data). Examples of different conventional lowpass filters are halfband lowpass, Gaussian lowpass, and lowpass filtering based on singular value decomposition.
However, if the halftone image data (binary image data) is initially generated from gray scale image data (gray scale image data) using an error diffusion process, the error diffusion can inject noise into the gray scale image primarily in the high frequency range. In other words, since an error diffusion process injects high frequency noise, a low pass filter cannot necessarily remove all of the noise purposefully introduced by the error diffusion process.
However, if a high pass filter is utilized to address the noise injected by the error diffusion [process, there may have been high frequency components in the original gray scale image, such that removal of noise by a high pass filter would also remove these desirable high frequency components of the original image data, particularly a text region may lose sharpness due to the removal of the desirable high frequency components of the original image data.
In the above-mentioned conventional look-up table based approaches for reconstruction of gray image from error diffused binary, a small window is slid over the error diffused image data. The content of the binary pixels in the window serves as an address to a look-up table. A gray level value is then retrieved as the constructed gray level of the center pixel in the window.
The conventional look-up table is constructed by a training algorithm using a collection of test images. The training of the conventional look-up table is time consuming.
Moreover, since conventional error diffusion produces a binary image in which the local average within any small area of the image approximates the gray level of the corresponding small area of the original gray scale image, very different bit patterns corresponding to the same local gray level can be obtained by simply shifting a halftoning window a small amount in any direction. The different bit patterns will result in different addressing to the look-up table during inverse halftoning. Also, very different binary images from the same gray scale image can be generated by merely changing the initial condition in the error diffusion process.
Therefore, it is desirable to provide a system and method for converting binary image data to gray scale image data that removes noise injected during an error diffusion process.
Moreover, it is desirable to provide a system and method for converting binary image data to gray scale image data that does rely upon a time consuming training algorithm.
In addition, it is desirable to provide a system and method for converting binary image data to gray scale image data that does not generate different bit patterns corresponding to the same local gray level by simply shifting a halftoning window a small amount in any direction.
It is also desirable to provide a system and method for converting binary image data to gray scale image data that does not generate different binary images from the same gray scale image by merely changing the initial condition in the error diffusion process.